Data centers typically run multiple separate networks, including an Ethernet network for client-to-server and server-to-server communications and a fibre channel (FC) storage area network (SAN). Ethernet networks are generally implemented when end-users are transferring relatively small amounts of information over both local and global distances or in clustered, low-latency computer environments. SANs, on the other hand, are implemented by companies who require access to block I/O for applications such as booting over SANs, mail servers, file servers, and large databases. Deploying SANs has a number of benefits including: (1) centralized management, security, and administration of the storage resources, (2) uniform delivery of storage services such as periodic backups, and (3) running efficient utilization levels of storage resources.
Traditional Ethernet is the primary network protocol in data center environments for server-to-server communications. However, Ethernet is designed to be a best-effort network protocol that may drop packets or deliver packets out of order when the network or devices are busy. Therefore, enhancements to Ethernet have been evolving to add extensions to the existing network protocol for greater reliability, among other things, under the direction of the Data Center Bridging (DCB) Task Group (TG) of the IEEE 802.1 Working Group. Beyond the benefits to traditional application traffic, these enhancements make Ethernet a viable transport for storage and server cluster traffic.
Originally coined and trademarked by Cisco Systems, Inc., Data Center Ethernet (DCE™) is one of the terms used to describe enhanced Ethernet. DCE refers to enhanced Ethernet based on the Data Center Bridging standards and also includes a Layer 2 Multipathing (L2MP) implementation based on the Internet Engineering Task Force's (IETF's) Transparent Interconnection of Lots of Links (TRILL) proposal. L2MP is an enhancement to increase the bisectional bandwidth between data center nodes by enabling multiple parallel paths between nodes and eliminating the single-path requirement and slow convergence of Spanning Tree Protocol (STP).
Overview
Embodiments of the present disclosure generally relate to increasing equal-cost multipath routing (ECMP) network utilization of alternate communication paths in data center environments.
One embodiment of the present disclosure provides a method of network communications. The method generally includes generating two or more different hash values for forwarding packets from a first network device to a second network device along two or more paths having equal routing cost and supporting data center bridging, forwarding a first packet along a first one of the paths based on a first one of the hash values, and forwarding a second packet along a second one of the paths based on a second one of the hash values. Generating the hash values may include using a first unique bridge identifier (ID) of a first network bridge in the first one of the paths to generate the first one of the hash values and using a second unique bridge ID of a second network bridge in the second one of the paths to generate the second one of the hash values.
Another embodiment of the present disclosure provides an apparatus. The apparatus generally includes logic configured to generate two or more different hash values for forwarding data from the apparatus to a network device along two or more paths having equal routing cost and supporting data center bridging, to forward a first packet along a first one of the paths based on a first one of the hash values, and to forward a second packet along a second one of the paths based on a second one of the hash values.
Yet another embodiment of the present disclosure provides a system. The system generally includes a first network device, a second network device, and two or more paths between the first and second network devices. The first network device typically includes logic configured to generate two or more different hash values for forwarding data from the first network device to the second network device along the two or more paths having equal routing cost and supporting data center bridging, to forward a first packet to the second network device along a first one of the paths based on a first one of the hash values, and to forward a second packet to the second network device along a second one of the paths based on a second one of the hash values.